from game import zz_game
from zz import zz_log, zz_img

log = zz_log.of()


class Game(zz_game.ZZ_Game):
    def __init__(self, d):
        super().__init__(d)

    def search_click_index(self):
        return 1

    def game_alert(self):
        self.alert_close_by_file("./game/img/植物大战僵尸")

    def get_name(self):
        return "植物大战僵尸"

    def check_done(self, throw=True):
        return False

    def handle_main(self):
        self.log_msg("等待进入游戏主界面")
        self.d.sleep(2)
        self.game_alert()
        if not self.img_exit('./game/img/植物大战僵尸/game_main.png', 30):
            self.log_msg("进入游戏主界面-失败")
            return False
        self.log_msg("已进入游戏主界面")

        self.game_alert()

        self.log_msg("点击冒险模式")
        self.img_click('./game/img/植物大战僵尸/play.png')

        self.game_alert()

        # self.img_click_if_exists("点击冒险模式", './game/img/植物大战僵尸/play.png', './game/img/植物大战僵尸/play1.png')
        while not self.img_exit('./game/img/植物大战僵尸/play1.png', 3):
            self.swipe_right(0.5, False, 0.4)
        self.log_msg("点击进入第1关卡")
        self.img_click('./game/img/植物大战僵尸/play1.png')
        self.log_msg("等待进入战斗界面")
        self.img_exit('./game/img/植物大战僵尸/play_dou.png', 20)
        self.log_msg("已进入战斗界面")
        self.d.sleep(3)
        self.game_alert()

        self.log_msg("点击豌豆")
        self.img_click('./game/img/植物大战僵尸/play_dou.png')
        self.log_msg("获取草地位置")
        r = self.find_img('./game/img/植物大战僵尸/play_location.png')
        if r.err():
            self.log_msg("获取草地位置-失败")
            return False
        self.log_msg("点击第1块草地")
        x, y = r.get_data("center")
        self.d.click(x, y)
        sun_count = 0
        while True:
            if self.img_exit('./game/img/植物大战僵尸/play_sun.png', 2):
                self.log_msg("获取阳光")
                self.img_click('./game/img/植物大战僵尸/play_sun.png')
                sun_count += 1
            if sun_count > 2:
                break

        self.log_msg("点击豌豆")
        self.img_click('./game/img/植物大战僵尸/play_dou.png')
        self.log_msg("点击第2块草地")
        self.d.click(x + 100, y)
        self.d.sleep(1)
        self.log_msg("点击加速")
        self.img_click('./game/img/植物大战僵尸/play_su.png')
        self.log_msg("点击加速")
        self.img_click('./game/img/植物大战僵尸/play_su.png')
        self.log_msg("点击加速")
        self.img_click('./game/img/植物大战僵尸/play_su.png')

        while not self.img_exit('./game/img/植物大战僵尸/play_money.png', 2):
            self.log_msg("战斗中", False)
            self.game_alert()

        self.log_msg("战斗结束，点击钱袋")
        self.img_click('./game/img/植物大战僵尸/play_money.png')
        self.d.sleep(3)
        self.game_alert()

        return True
